iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

NodeJS with MongoDB專案開發系列 第 22

Day 22nodrjs with mongo db專案開發

  • 分享至 

  • xImage
  •  

飯店定位系統

由於雙十國慶的到來,因此國人旅遊潮的到來,飯店的定位系統做的好也會影響到體驗感,因此用node.js寫一個飯店定位系統提升便利性也是相當重要

首先,已經安裝了 Node.js 和相關的套件,然後創建一個新的 JavaScript 檔案(例如 hotelLocator.js)並使用以下代碼填充它:

const express = require('express');
const app = express();
const port = 3000;

// 虛擬的飯店數據
const hotels = [
  { name: 'Hotel A', location: 'Location A' },
  { name: 'Hotel B', location: 'Location B' },
  { name: 'Hotel C', location: 'Location C' },
  // 添加更多飯店信息
];

// 中間件,用於解析 JSON 請求主體
app.use(express.json());

// 處理查詢飯店的請求
app.post('/locate-hotel', (req, res) => {
  const userLocation = req.body.location;
  
  // 在實際應用中,這裡可以使用地理編碼服務來查找附近的飯店
  // 這裡僅是一個示例,根據輸入位置返回虛擬的飯店信息
  const nearbyHotels = hotels.filter(hotel => hotel.location === userLocation);
  
  res.json(nearbyHotels);
});

// 啟動伺服器
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

這個程式使用 Express.js 創建一個簡單的 REST API,並模擬查找附近飯店的功能。當用戶發送 POST 請求到 /locate-hotel 路徑時,它將接受用戶的位置,然後返回在該位置附近的虛擬飯店信息。

  1. 引入相關的 Node.js 模組和套件:

    • express: 這是一個流行的 Node.js 框架,用於簡化建立 Web 伺服器和處理 HTTP 請求的任務。
  2. 創建一個 Express 應用程式:

    const app = express();
    const port = 3000;
    

    在這裡,我創建了一個 Express 應用程式並設置它運行在 3000 號端口上。

  3. 定義虛擬的飯店數據:

    const hotels = [
      { name: 'Hotel A', location: 'Location A' },
      { name: 'Hotel B', location: 'Location B' },
      { name: 'Hotel C', location: 'Location C' },
      // 添加更多飯店信息
    ];
    

    這是一個虛擬的飯店數據陣列,其中每個飯店都有名稱和位置信息。

  4. 使用 Express 中間件來解析 JSON 請求主體:

    app.use(express.json());
    

    這個中間件用於解析發送到 API 的 JSON 格式請求主體,以便我可以讀取用戶提供的位置信息。

  5. 處理查詢飯店的請求:

    app.post('/locate-hotel', (req, res) => {
      const userLocation = req.body.location;
    
      // 在實際應用中,這裡可以使用地理編碼服務來查找附近的飯店
      // 這裡僅是一個示例,根據輸入位置返回虛擬的飯店信息
      const nearbyHotels = hotels.filter(hotel => hotel.location === userLocation);
    
      res.json(nearbyHotels);
    });
    

    這個路由處理 POST 請求到 /locate-hotel 路徑。它首先從請求主體中讀取用戶提供的位置信息,然後在虛擬飯店數據中查找位於該位置的飯店,最後將結果以 JSON 格式返回給用戶。

  6. 啟動伺服器:

    app.listen(port, () => {
      console.log(`Server is running on port ${port}`);
    });
    

    最後,我使用 app.listen 啟動伺服器,並在控制台上輸出伺服器運行的端口號。


上一篇
day 20 node.js with mongo db專案開發
下一篇
day 23 node.js with mongo db專案開發
系列文
NodeJS with MongoDB專案開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言